package com.shuda.system.service;

import com.shuda.system.dto.RoleMenuDTO;

import java.util.List;

/**
 * 角色菜单关联服务接口
 */
public interface RoleMenuService {

    /**
     * 获取角色菜单列表
     */
    List<RoleMenuDTO> getRoleMenus(Long roleId);

    /**
     * 分配角色菜单
     */
    void assignRoleMenus(Long roleId, List<Long> menuIds);

    /**
     * 移除角色菜单
     */
    void removeRoleMenu(Long roleId, Long menuId);

    /**
     * 获取菜单下的角色列表
     */
    List<RoleMenuDTO> getMenuRoles(Long menuId);

    /**
     * 批量添加角色菜单
     */
    void batchAssignRoleMenus(List<Long> roleIds, Long menuId);

    /**
     * 批量移除角色菜单
     */
    void batchRemoveRoleMenus(List<Long> roleIds, Long menuId);

    /**
     * 获取角色菜单ID列表
     */
    List<Long> getRoleMenuIds(Long roleId);
}